package pe.edu.unmsm.fiee.sispagos.negocio.servicio;

import java.io.InputStream;
import java.util.List;
import java.util.Map;

import org.primefaces.model.chart.CartesianChartModel;

import pe.edu.unmsm.fiee.sispagos.negocio.modelo.ChartConsolidadoCptoDTO;
import pe.edu.unmsm.fiee.sispagos.negocio.modelo.DigitadorVoucherDTO;
import pe.edu.unmsm.fiee.sispagos.negocio.modelo.FilaExcelRecaudacionDTO;
import pe.edu.unmsm.fiee.sispagos.negocio.modelo.VWCxCAlumnoDTO;
import pe.edu.unmsm.fiee.sispagos.negocio.modelo.VWVoucherPagoDTO;

public interface VoucherPagoService {

	List<VWVoucherPagoDTO> listarVistaRecaudacionesxAnioxMes(
			Integer anioSeleccionado, Integer mesSeleccionado);

	Map validarExcelRecaudacion(InputStream inputstream);

	void guardarExcelValidado(
			List<FilaExcelRecaudacionDTO> listFilasExcelSubidas, Integer idUsuario);

	List<FilaExcelRecaudacionDTO> listarRecaudacionExcelValidas(
			Integer anioSeleccionado, Integer mesSeleccionado);

	List<FilaExcelRecaudacionDTO> listarRecaudacionExcelAlumsNoExisten(
			Integer anioSeleccionado, Integer mesSeleccionado);

	FilaExcelRecaudacionDTO obtenerFilaExcelxId(Integer idFilaExcelRec);

	String guardarFilaExcel(FilaExcelRecaudacionDTO filaExcelEditar);

	List<FilaExcelRecaudacionDTO> listarRecaudacionExcelCptosNoExisten(
			Integer anioSeleccionado, Integer mesSeleccionado);

	List<ChartConsolidadoCptoDTO> listarConsolidadosCptosxAnioMes(
			Integer anioSeleccionado, Integer mesSeleccionado);

	CartesianChartModel generarGraficoCptosxTiempo(List<String> cptosSeleccionados);

	List<VWCxCAlumnoDTO> listarVWCxcPorCodAlumno(String codigoAlumno);

	void eliminarFilaValidada(Integer idFilaExcelRec, Integer idUsuario);

	List<DigitadorVoucherDTO> listarVoucherDigitadorAnioMes(
			Integer anioSeleccionado, Integer mesSeleccionado, Integer idUsuario);

}
